/**
 * 版权所有(C)，上海勾芒信息科技，2016，所有权利保留。
 * 
 * 项目名：	carwx
 * 文件名：	extension.java
 * 模块说明：	
 * 修改历史：
 * 2016年12月1日 - Debenson - 创建。
 */
package com.alex.wechat.mp.extension;

import java.util.Set;

import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;

/**
 * 微信消息处理扩展
 * 
 * @author Debenson
 * @since 0.1
 */
public interface Extension {

  /**
   * 优先级，值越大优先级越高。
   * 
   * @return
   */
  public int priority();

  /**
   * 支持的关键字。
   * 
   * @return
   */
  public Set<String> keys();

  /**
   * 处理消息。
   * 
   * @param wxMessage
   * @return 如果能处理则返回响应，否则返回null,交由下一个扩展处理。
   */
  public WxMpXmlOutMessage execute(WxMpXmlMessage wxMessage);

}
